package com.zretc.support.service;

import com.zretc.support.entity.Course;
import com.zretc.support.entity.Joincourse;
import org.springframework.data.domain.Page;

import java.util.List;

public interface CourseService {

    /**
     * 查课程 -- 分页
     * @param keywords
     * @param page
     * @param pagesize
     * @return
     */
    Page<Course> getCourseByPage(String keywords, int page, int pagesize);

    /**
     * 查课程根据教师 -- 分页
     * @param keywords
     * @param page
     * @param pagesize
     * @return
     */
    Page<Course> getCourseByPageByTea(String keywords, int page, int pagesize);

    /**
     * 查课程根据教师编号 -- 分页
     * @param userId
     * @param keywords
     * @param page
     * @param pagesize
     * @return
     */
    Page<Course> getCourseByTeacher(String userId, String keywords, int page, int pagesize);

    /**
     * 查课程根据学生编号 -- 分页
     * @param userId
     * @param keywords
     * @param page
     * @param pagesize
     * @return
     */
    Page<Course> getCourseByStudent(String userId, String keywords, int page, int pagesize);

    /**
     * 增加课程
     * @param course
     * @return
     */
    Course addCourse(Course course);

    /**
     * 更新课程
     * @param course
     * @return
     */
    Course updateCourse(Course course);

    /**
     * 删除课程
     * @param courseId
     * @return
     */
    String deleteCourse(Long courseId);

    /**
     * 根据课程编号获取课程
     * @param courseId
     * @return
     */
    Course getCourseById(Long courseId);

    /**
     * 获取全部课程
     * @return
     */
    List<Course> getAllCourse();

    /**
     * 获取课程ID集合
     * @param courseName
     * @return
     */
    List<Long> getCourseByCourseName(String courseName);

    /**
     * 获取教师所有课程
     * @param userId
     * @return
     */
    List<Course> getAllCourseByTea(String userId);
}
